package com.leadership.api.service;

import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;

import com.demo2do.core.entity.result.HttpResult;
import com.leadership.entity.idm.IdmUser;
import com.leadership.entity.idm.Organization;

/**
 * 
 * @author dan
 *
 */
public interface IdmService {

    /**
     * 
     * @return
     */
    public Map<String, List<IdmUser>> listIdmUser();

    /**
     * @return
     */
    public List<Organization> listIdmOrganization();

    /**
     * 
     * @return
     */
    public HttpResult updateOrg();

    /**
     * 
     * @return
     */
    public HttpResult updateAllUser();
    
    /**
     * 
     * @param dateString
     * @return
     */
    public void createUserLearningMap(String dateString);

    /**
     * 
     * @param idmUsers
     */
    public void updateNewUser(List<IdmUser> idmUsers);

    /**
     * 
     * @return
     */
    public HttpResult updateUserByJob();

    /**
     * 
     * @param filter
     * @return
     */
    public HttpResult updateUser(String filter);

    public HttpResult updateUserWithNoNotification(String filter);

    /**
     * 
     * @return
     */
    public HttpResult noticeLearningMap();

    /**
     * 
     * @return
     */
    public HttpResult statLearningMap();

    /**
     * 
     * @param ogrno
     * @return
     * @throws UnsupportedEncodingException
     */
    public HttpResult updateOrgUser(String ogrno) throws UnsupportedEncodingException;

}
